Fix a GtkBuilder crash
authorMatthias Clasen <mclasen@redhat.com>
Tue, 7 Apr 2009 00:55:26 +0000 (20:55 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Tue, 7 Apr 2009 00:55:26 +0000 (20:55 -0400)
Always set an error when returning FALSE from gtk_builder_value_from_string.
This fixes the crash reported in bug 532858.

gtk/gtkbuilder.c

index 1ea7db3ac7508b1a9ed6042c1ab9a6422dfc96d9..9dff20e38a03eea0baa3c2d9f28eeb6a53ca4e21 100644 (file)
@@ -1329,7 +1329,14 @@ gtk_builder_value_from_string_type (GtkBuilder   *builder,
           g_value_take_boxed (value, vector);
         }
       else
-        ret = FALSE;
+        {
+          g_set_error (error,
+                       GTK_BUILDER_ERROR,
+                       GTK_BUILDER_ERROR_INVALID_VALUE,
+                       "Could not parse '%s' as a %s",
+                       string, G_VALUE_TYPE_NAME (value));
+          ret = FALSE;
+        }
       break;
     case G_TYPE_OBJECT:
       if (G_VALUE_HOLDS (value, GDK_TYPE_PIXBUF))